public class Student {
    private int id;
    private String name;
    private int age;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    //遍历所有学生信息
    public static void checkStudentNews(Student[] arr){
        //使用循环遍历数组  arr
        for (int i = 0; i < arr.length; i++) {
            if (arr[i] == null) {
                //如果数组元素为空，不做任何处理
            } else {
                //如果数组元素不为空，打印该学生的学号、姓名和年龄信息
                System.out.println("学号："+arr[i].getId() + "  姓名："+arr[i].getName() + "  年龄：" + arr[i].getAge());
            }
        }
    }

    //通过id删除学生
    public static void idDeleteStudent(Student[] arr, int ids){
        //  判断要删除的id是否在数组中存在
        if (reJudgeId(ids, arr) == -1) {
            //  如果传入的id在数组中不存在，输出删除失败
            System.out.println("删除失败。");
        } else {
            //  如果传入的id在数组中存在，则将该位置设置为null
            arr[reJudgeId(ids, arr)] = null;
            //  删除后，调用checkStudentNews方法重新检查数组元素是否为空
            checkStudentNews(arr);
        }
    }

    //id为2的学生，年龄+1岁
    public static void judgeAge(Student[] arr){
        //  定义要判断的学生id
        int sges =2;
        //  遍历学生数组
        for (int i = 0; i < arr.length; i++) {
            //  如果当前学生的id等于要判断的id
            if (arr[i] .getId() == sges) {
                //  将这个学生的年龄加1
                arr[i].setAge(arr[i].getAge()+1);
                //  直接结束方法
                return;
            }
        }
        //  如果没有找到id为2的学生，输出提示信息
        System.out.println("没有id为2的学生");
    }

    //创建方法判断id是否重复
    public static boolean judgeId(Student[]arr,int j,int id){
        //  循环遍历数组中的元素
        for (int i = 0; i < j; i++) {
            //  取出当前元素，获取其编号
            Student s=arr[i];
            //  如果当前编号与给定编号相同，则返回  false
            if(id==(s.getId())){
                return false;
            }
        }
        //  如果循环结束仍然没有找到相同编号的学生，则返回  true
        return true;
    }
    //判断是否存在这个id
    public static int reJudgeId(int ids,Student []arr){
        //  遍历学生数组
        for (int i = 0; i < arr.length; i++) {
            //  如果遍历的当前学生的id等于指定的id
            if( arr[i] .getId()==ids){
                //  返回该学生的下标
                return i;
            }
        }
        //  如果遍历完整个数组还没找到指定id的学生，则返回-1
        return -1;
    }
}
